Estimation of speed and direction of travel in a WLAN positioning system using multiple position estimations

ABSTRACT

A method for estimating the speed and bearing of a Wi-Fi enabled device using WLAN radio signals in a WLAN based location service is provided. A method used to estimate a speed of travel of a Wi-Fi enabled device comprises the Wi-Fi enabled device receiving signals transmitted by Wi-Fi access points in range of the Wi-Fi enabled device, and using the signals to estimate the speed of and/or direction of travel of the Wi-Fi enabled device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is related to the following U.S. patent applications Ser. Nos. TBA, filed on an even date herewith, entitled as follows:

-   -   Estimation of Speed and Direction of Travel In A WLAN         Positioning System;     -   Estimation of Speed of Travel Using the Dynamic Signal Strength         Variation of Multiple WLAN Access Points;     -   Estimation of Position Using WLAN Access Point Radio Propagation         Characteristics in a WLAN Positioning System; and     -   Calculation of Quality of WLAN Access Point Characterization For         Use in a WLAN Positioning System;

the contents of which are hereby incorporated by reference.

BACKGROUND

1. Field of the Invention

The invention generally relates to calculating speed and direction of travel in a positioning system, and, more specifically, the use of WLAN access points signals to calculate speed and direction of travel.

2. Discussion of Related Art

Position, speed of travel, and direction of travel (i.e. bearing) are basic components of navigation systems and any Location Based Services (LBS). Speed and bearing estimation are not only reported to the end users, but they are also used by the location services and systems to rectify position estimation. The information may also be used by navigation applications to translate a distance to a time duration. Location and speed estimation are also used extensively in cellular networks to optimize system parameters, like dynamic channel assignment and handover algorithms.

Outdoor and indoor WLAN based positioning systems have been explored by a couple of research labs, but none of them included speed and bearing estimation in their system. The most important research efforts in this area have been conducted by PlaceLab (www.placelab.com, a project sponsored by Microsoft and Intel), University of California San Diego ActiveCampus project (ActiveCampus—Sustaining Educational Communities through Mobile Technology, technical report #CS2002-0714), and the MIT campus wide location system, and it was evaluated through several small projects at Dartmouth college (e.g., M. Kim, J. J. Fielding, and D. Kotz, “Risks of using AP locations discovered through war driving”).

There have been a number of commercial offerings of Wi-Fi location systems targeted at indoor positioning. (See, e.g., Kavitha Muthukrishnan, Maria Lijding, Paul Havinga, Towards Smart Surroundings: Enabling Techniques and Technologies for Localization, Proceedings of the International Workshop on Location and Context-Awareness (LoCA 2005) at Pervasive 2005, May 2005, and Hazas, M., Scott, J., Krumm, J.: Location-Aware Computing Comes of Age, IEEE Computer, 37(2):95-97, February 2004 005, Pa005, Pages 350-362.) These systems are designed to address asset and people tracking within a controlled environment like a corporate campus, a hospital facility or a shipping yard. The classic example is having a system that can monitor the exact location of the crash cart within the hospital so that when there is a cardiac arrest the hospital staff doesn't waste time locating the device. The accuracy requirements for these use cases are very demanding, typically calling for 1-3 meter accuracy. These systems use a variety of techniques to fine tune their accuracy including conducting detailed site surveys of every square foot of the campus to measure radio signal propagation. They also require a constant network connection so that the access point and the client radio can exchange synchronization information similar to how A-GPS works. While these systems are becoming more reliable for indoor use cases, they are ineffective in any wide-area deployment. It is impossible to conduct the kind of detailed site survey required across an entire city and there is no way to rely on a constant communication channel with 802.11 access points across an entire metropolitan area to the extent required by these systems. Most importantly, outdoor radio propagation is fundamentally different than indoor radio propagation, rendering these indoor positioning algorithms almost useless in a wide-area scenario.

Speed estimation of WLAN users has drawn little attention. There is one paper related to this topic, which covers the indoor environment. Using power variation of signal strength of WLANs to detect stationary users inside a building was proposed by Krumm and Harvitz. (See John Krumm and Eric Harvitz, “LOCADIO: Inferring Motion and Location from WLAN Signal Strengths” Proc. Of Mobiquitous, pp 4-14, Aug. 22-26, 2004). The proposed algorithm is based on measuring the variance of the signal strength of the strongest access point in an indoor environment. In this article, the user's movement is captured in two states, which are “still” and “moving” states. The proposed algorithm to detect still state is based on detailed survey of the building and finding transition probability between “still” and “moving” states as a function of the building's floor plan. This article uses standard deviation of power samples to capture the power variation. In addition, a detailed site survey was required.

Estimation of speed of travel by using radio wave propagation characteristics is not a new idea, and different methods have been suggested to calculate user speed by using radio waves. The common way of estimating speed of a receiver relative to the transmitter is based on measuring the Doppler frequency. Estimating speed based on Doppler frequency needs the exact knowledge of the transmit frequency and angle of arrival of radio waves.

Due to shadowing and multi-path effects, conventional speed estimation methods cannot estimate the speed of WLAN users accurately. For example, Doppler frequency cannot be measured directly since the WLAN access point local oscillator is not precise enough, and the transmit frequency is not known accurately. Also, the multi-path effect causes different path length for the received signals.

There are millions of commercial and private WLANs deployed so far and this number is growing everyday. Thus, it is desirable to use WLAN access points to estimate speed and direction of travel. The speed of a user can be estimated by using transitional features of radio waves received from one or more WLAN access points. Moving out of coverage area of some access points and entering coverage area of other access points maintains continuity of estimation over time.

Detecting zero speed is another challenging issue for WLAN users, since the environment surrounding a WLAN receiver in a metropolitan area is changing all the time, and as a result, the received signal characteristics is changing constantly.

A WLAN positioning system provides a systematic method and a methodology for gathering reference location data to enable a commercial positioning system using public and private 802.11 access points. Preferably, the data is gathered in a programmatic way to fully explore and cover the streets of a target region. The programmatic approach identifies as many Wi-Fi access points as possible.

FIG. 1 depicts a Wi-Fi positioning system (WPS). The positioning system includes positioning software [103] that resides on a computing device [101]. Throughout a particular coverage area there are fixed wireless access points [102] that broadcast information using control/common channel broadcast signals. The client device monitors the broadcast signal or requests its transmission via a probe request. Each access point contains a unique hardware identifier known as a MAC address. The client positioning software receives signal beacons from the 802.11 access points in range and calculates the geographic location of the computing device using characteristics from the signal beacons. Those characteristics include the unique identifier of the 802.11 access point, known as the MAC address, and the strengths of the signal reaching the client device. The client software compares the observed 802.11 access points with those in its reference database [104] of access points, which may or may not reside on the device as well. The reference database contains the calculated geographic locations and power profile of all the access points the gathering system has collected. The power profile may be generated from a collection of readings that represent the power of the signal from various locations. Using these known locations, the client software calculates the relative position of the user device [101] and determines its geographic coordinates in the form of latitude and longitude readings. Those readings are then fed to location-based applications such as friend finders, local search web sites, fleet management systems and E911 services.

SUMMARY

The invention provides methods for estimating the speed and bearing in a WLAN based location service.

Under one aspect of the invention, a method used to estimate a speed of travel of a Wi-Fi enabled device comprises the Wi-Fi enabled device receiving signals transmitted by Wi-Fi access points in range of the Wi-Fi enabled device, and using the signals to estimate the speed of travel of the Wi-Fi enabled device.

Under another aspect of the invention, a method used to estimate a speed of travel of a Wi-Fi enabled device comprises the Wi-Fi enabled device measuring an individual observation period for each of the Wi-Fi access points during which the Wi-Fi enabled device is receiving the signal transmitted by the individual Wi-Fi access point, the measuring occurring during a window of time. An average observation period is calculated based on the individual observation periods, and a speed of travel of the Wi-Fi enabled device is estimated using the average observation period.

Under another aspect of the invention, a method used to estimate a speed of travel of a Wi-Fi enabled device comprises the Wi-Fi enabled device receiving and measuring signal strengths of signals transmitted by a plurality of Wi-Fi access points in range of the Wi-Fi enabled device as received by the Wi-Fi enabled device, the measuring occurring during a window of time. Variations of the signal strengths as received by the Wi-Fi enabled device during the window of time are calculated. The signal strength variations are used to estimate a speed of travel of the Wi-Fi enabled device.

Under another aspect of the invention, a method used to estimate a speed of travel of a Wi-Fi enabled device comprises the Wi-Fi enabled device receiving signals transmitted by Wi-Fi access points in range of the Wi-Fi enabled device. A reference database is accessed to determine if the database contains characteristics of the Wi-Fi access points. If the database contains characteristics of the Wi-Fi access point, the characteristics are used to estimate a speed of travel of the Wi-Fi enabled device.

Under another aspect of the invention, a method for facilitating the determination of a speed of travel of the Wi-Fi enabled device within a location-based services system having a reference database of Wi-Fi access points in a target area, each Wi-Fi access point in the target area positioned at a corresponding geographical location, comprises the Wi-Fi enabled device receiving signals transmitted by Wi-Fi access points in range of the Wi-Fi enabled device during a window of time. The reference database is accessed to retrieve the corresponding geographical locations of the identified Wi-Fi access points. The geographical locations of the identified Wi-Fi access points are used to estimate a plurality of positions of the Wi-Fi enabled device occurring during the window of time, and a time value is associated with each of the estimated positions, each time value and position estimate forming one position/time pair of a plurality of pairs, the plurality having a first position occurring at a first time and a second position occurring at a second time. A lower speed bound is calculated based on a difference between the first position and time and second position and time. A plurality of speeds are calculated based on differences between consecutive pairs of the plurality of position/time pairs. An upper speed bound is the median speed from the plurality of speeds. A speed of travel of the Wi-Fi enabled device is calculated based on the upper speed bound and the lower speed bound.

Under another aspect of the invention, a method for facilitating the determination of a speed of travel of the Wi-Fi enabled device within a location-based services system having a reference database of Wi-Fi access points in a target area, each Wi-Fi access point in the target area positioned at a corresponding geographical location, comprises the Wi-Fi enabled device receiving signals transmitted by Wi-Fi access points in range of the Wi-Fi enabled device during a window of time. The reference database is accessed to retrieve the corresponding geographical locations of the identified Wi-Fi access points. The geographical locations of the identified Wi-Fi access points are used to estimate a plurality of distances traveled by the Wi-Fi enabled device, and a time value is associated with each estimated position. The speed of travel of the Wi-Fi enabled device is calculated based on the plurality of distances and associated times.

Under another aspect of the invention, a method used for facilitating the determination of a direction of travel of the Wi-Fi enabled device within a location-based services system having a reference database of Wi-Fi access points in a target area, each Wi-Fi access point in the target area positioned at a corresponding geographical location comprises the Wi-Fi enabled device receiving signals transmitted by Wi-Fi access points in range of the Wi-Fi enabled device. The reference database is accessed to retrieve the corresponding geographical locations of the identified Wi-Fi access points. The geographical locations of the identified Wi-Fi access points are used to estimate a sequence of positions of the Wi-Fi enabled device occurring during the window of time, the sequence having a first position. A plurality of intermediate directions of travel of the Wi-Fi enabled device are calculated based on the first position and the later positions of the sequence, each direction calculation using a different later position for each individual calculation. A direction of travel of the Wi-Fi enabled device is calculated based on the average of the plurality of intermediate directions of travel.

Under another aspect of the invention, a method for use in a location-based services system having a plurality of Wi-Fi access points in a target area, the Wi-Fi access points being positioned at geographic locations comprises estimating a first speed of travel of a Wi-Fi enabled device using a calculated average observation period during which the Wi-Fi enabled device is receiving signals transmitted by the Wi-Fi access points, estimating a second speed of travel of the Wi-Fi enabled device using calculated variations of signal strengths transmitted by the Wi-Fi access points as received by the Wi-Fi enabled device, and estimating a third speed of travel of the Wi-Fi enabled device using a plurality of estimated positions and associated time values of the Wi-Fi enabled device estimated using the geographic locations of the Wi-Fi access points. A fourth speed of travel of the Wi-Fi enabled device is calculated based on the first, second, and third estimated speeds of travel.

BRIEF DESCRIPTION OF DRAWINGS

In the drawings,

FIG. 1 depicts certain embodiments of a Wi-Fi positioning system;

FIG. 2 depicts the estimation of the speed of a user by fitting a line to multiple position estimation points according to certain embodiments of the invention;

FIG. 3 depicts speed estimation as a numerical derivative of traveling distance according to certain embodiments of the invention;

FIG. 4 depicts an example of received signal strength variation over time and an accompanying Fourier transform of the variation;

FIG. 5 depicts an example of a user exposed to a multitude of WLAN coverage areas;

FIG. 6 depicts an example of an access point with the average coverage radius;

FIG. 7 depicts an embodiment of a transversal filter to find optimum coefficients to linearly combine speed estimations according to certain embodiments of the invention; and

FIG. 8 depicts a method of bearing estimation according to certain embodiments of the invention.

DETAILED DESCRIPTION

Embodiments of the invention facilitate the estimation of speed and bearing of a user equipped with a WLAN device by using WLAN radio signals. Proliferation of WLAN access points in recent years created a blanket of WLAN radio waves everywhere. Therefore, almost in any place, there is a great possibility to detect WLAN radio waves, especially in urban areas. There are important features embedded in WLAN and WLAN technology which makes it more attractive for speed and bearing estimation in metro areas, including that WLAN access points are stationary, WLAN access points can be found almost anywhere, the WLAN access points are sharing the same spectrum, and the spectrum used by WLAN access points is free.

Embodiments of the invention provide a system and a methodology for continuously maintaining and updating speed and bearing estimation of a user using radio waves of public and private WLAN access points. The user scans and detects public and private WLAN access points and also logs Received Signal Strength (RSS) corresponding to each of the WLAN access points periodically. Embodiments of the invention provide a method to estimate speed and bearing of the user equipped with a WLAN device based on radio waves received from public and private WLAN access points.

Embodiments of the present invention build on techniques, systems and methods disclosed in earlier filed applications, including but not limited to U.S. patent application Ser. No. 11/261,848, entitled Location Beacon Database, U.S. patent application Ser. No. 11/261,898, entitled Server for Updating Location Beacon Database, U.S. patent application Ser. No. 11/261,987, entitled Method and System for Building a Location Beacon Database, and U.S. patent application Ser. No. 11/261,988, entitled Location-Based Services that Choose Location Algorithms Based on Number of Detected Access Points Within Range of User Device, all filed on Oct. 28, 2005, the contents of which are hereby incorporated by reference in its entirety. Those applications taught specific ways to gather high quality location data for Wi-Fi access points so that such data may be used in location based services to determine the geographic position of a Wi-Fi-enabled device utilizing such services and techniques of using said location data to estimate the position of a system user. The present techniques, however, are not limited to systems and methods disclosed in the incorporated patent applications. Thus, while reference to such systems and applications may be helpful, it is not believed necessary to understand the present embodiments or inventions.

Embodiments of the invention may be used in a Wi-Fi enabled device to determine speed and/or direction of travel. For example, technique in accordance with embodiments of the invention may be incorporated in logic embedded in a positing software [103] of the Wi-Fi enabled device of FIG. 1.

Under at least one embodiment of the invention, the speed of a user is estimated based on a numerical derivative of the traveling distance. The method is based on finding the speed of user based on position estimation samples in a WLAN based positioning system. The speed of the user is estimated by fitting a line to traveling distance as a function of time. Therefore, the slope of the line is the speed of the user. FIG. 2 illustrates an example of this method. In FIG. 2, the user is moving along a street [201], and multiple positions [202] are estimated (shown by stars). The distance between the multiple positions [202] may be plotted against times at which the positions are estimated, shown by graph [204]. A line [205] is fit to the distance [206] and time [207] values corresponding to the multitude of position estimations [202]. The slope of the line [205] is the speed of the user.

Under other embodiments of the invention, the speed of a user is estimated based on a numerical derivative of the traveling distance. The invented method is based on finding a lower bound and an upper bound of the user's speed, and then calculating the middle point between them as the best estimate for the speed. These embodiments provide a simple way to calculate the speed of a user.

Methods according to these embodiments use an m number of time-stamped position estimations of the user and corresponding qualities of the position estimations. The number m needs to be set high enough to smooth the results and eliminate estimation noises and sudden changes in speed estimation. On the other hand, the value of m has to be set low enough to track speed changes in a timely manner. The optimum value of m depends on the rate of change of speed of the user and it can also be selected adaptively. An example of a useful value of m is between five and fifteen seconds.

In order to reduce the initial delay of reporting the speed estimated under these embodiments, a rough estimation of speed can be calculated after couple of seconds, e.g., five seconds, and it can be fine tuned after collecting more samples. The optimum number of m may be found empirically.

Methods according to these embodiments operate as follows. Low quality position estimations are eliminated, leaving n number of position estimations of acceptable quality. The median of speed for the n consecutive position estimations is calculated using the distance traveled over time. This is the upper bound of the speed. The average speed is calculated by using the first and the last position estimation. This is the lower bound of the speed. The final speed is calculated as a weighted average of the median and the average speeds.

The median of speed is calculated by first finding the speeds of n consecutive position estimation as follows: ${V_{i} = {\frac{\Delta\quad d_{i}}{\Delta\quad t_{i}} = \frac{d_{i} - d_{i - 1}}{t_{i} - t_{i - 1}}}},{1 \leq i \leq n}$ Next, the n calculated speeds are sorted from minimum to maximum and the middle point is selected as follows: {V _(a) ,V _(b) , . . . ,V _(k) },V _(a) ≦V _(b) ≦ . . . ≦V _(k)

The average speed is calculated by considering the last position and the first position estimation of the n consecutive position estimation, as follows: $\left. \left\{ {\left( {d_{1},t_{1}} \right),\left( {d_{2},t_{2}} \right),\cdots\quad,\left( {d_{n},t_{n}} \right)} \right\}\Rightarrow V_{avg} \right. = \frac{d_{n} - d_{1}}{t_{n} - t_{1}}$

The last step is finding the final speed by using weighted average of the median and the average speed. The weighting factor is denoted by a as follows: V=αV _(median)+(1−α)V _(avg)

The value of α is set to 0.5 to find the mean value. Appropriate values of α may be found empirically depending upon the use of the system. One example of an ideal value of α is 0.5.

FIG. 3 depicts an example of the above-described embodiment of speed estimation based on a numerical derivative of the traveling distance. The speed estimation method includes a window size [301], in which positioning samples [302] are used for speed estimation. Multiple speed estimations [303] based on the consecutive position estimations [302], are determined and used to calculate the median speed. The speed estimation based on the first and the last position estimation [304] is determined and used as the lower speed bound. The median and lower speed bound may be combined to find the speed of travel of the user.

Under another aspect of the invention, the number of position estimation samples is changed adaptively according to the rate of change of speed. The number of position estimation samples is adjusted based on average rate of change of speed and not instantaneous variation.

Under another aspect of the invention, the speed of a user is estimated based on numerical derivative of traveling distance by using position estimation samples weighted according to their quality of estimation. The techniques disclosed in the related U.S. patent application entitled, Calculation of Quality of WLAN Access Point Characterization For Use in a WLAN Positioning System (incorporated above), may be used to determine the quality of estimation. In a WLAN based positioning system, position of a user is estimated based on received signal strength of radio waves from WLAN access points in range. Position estimation may also tagged with a quality factor which is an indicator of the expected error of position estimation. Embodiments of the invention use position estimation results weighted according to their quality of estimation to calculate the user's speed.

For example, when using the technique of fitting a line to position estimation points to determine speed, the distance of the line to the estimated position points (e.g., [208] of FIG. 2) are weighted according to the quality of the position estimations. Therefore, the line is found in such a way that the weighted distances from the position points to the line are minimized. As another example, when using the technique of finding multiple position estimations and finding the upper and the lower bound of speed, the position estimations having a low quality are ignored. The threshold to select the low quality threshold may be found empirically.

Under at least one embodiment of the invention, speed of the user is estimated based on measuring the Doppler effect indirectly by measuring power variation of the Received Signal Strength. The power variation is measured by looking at the power samples in the frequency domain by taking Fourier Transform of power samples. The bandwidth of the Fourier Transform of the power samples is then directly correlated with the speed of a user. FIG. 4 shows an example of RSS [401] variation vs. time [402]. An example variation plot is shown by [403]. In other words, signal strength variation is used as an indicator of the speed of the user, and it is mapped into the speed of the user.

The received signal strength may be impacted by the following channel impairments: the distance between a transmitter and a receiver, shadow fading, and multi-path and small fading effect. The distance between the transmitter and the receiver directly impacts the absolute value of the average Received Signal Strength. The relationship between the Received Signal Strength and the distance between WLAN access point and the end user is a function of the environment in which they operate. Shadow fading and multi-path fading are inherently random and cause the Received Signal Strength to vary with time. In the case of stationary user, although shadow and multi-path fading cause power to vary, the variation is limited since only movements of surroundings of the receiver cause power to vary. If a mobile user is considered, the changes and rate of change of surroundings of the receiver is much higher. As a result, the Received Signal Strength variation is higher than for stationary users.

Methods practiced according to these embodiments operate as follows. Received Signal Strength values are collected over a given time window. The time window can be a fixed window or it can be adjusted adaptively according to the rate of change of speed of the user. The adaptive window adjustment based on rate of change of speed of user is more accurate, but window size and acceleration are not linearly dependent. Larger window size avoids big estimation errors due to instantaneous power change, but reduces tracking capability of the estimation. One example of a useful value of the window size is equal to twenty samples, which are one second apart.

A variation is calculated from the Received Signal Strength values. Signal strength variation may be found by determining the bandwidth of a Fourier Transform of samples of Received Signal Strength. The standard deviation of signal strength may also be used as a rough approximation of signal variation. If signal strength variation is below a given threshold, the user is assumed stationary. If it is above the threshold, it is mapped to a value for the speed for the user.

Mapping power variation to speed can be found empirically based on the use cases and the environment in which users operate. The method to map bandwidth of Fourier Transform to speed is as follows. For a given speed of a user, the bandwidth of the Fourier Transform is found. The ratio of the known speed to the bandwidth of the Fourier Transform is denoted by A, and may be found as follows: $A = \frac{V_{known}}{{BW}_{FFT}}$

The ratio A is used as the conversion factor to map Fourier Transform bandwidth to speed of a user. In summary, bandwidth of Fourier Transform of Received Signal Strength samples of a user is determined, and is multiplied by A to find speed of the user.

FIG. 4 shows one example of Received Signal Strength [401] variation versus time [402] and also the Fourier Transform of the RSS variation, plotting RSS power [405] versus frequency [406], and a corresponding bandwidth [404] of the Fourier transform.

Under one embodiment of the invention, speed estimation is based on average observation (or detection) period of WLAN access points. Observation period is a period of time that a user is exposed to a transmitted signal by an access point in a given time window. A stationary user stays in the coverage area of the same set of access points, but a mobile user detects different access points as the mobile user moves from coverage area of one access point to another.

FIG. 5 shows an example of a user moving in a given direction, along a user track [501]. There are different access points covering different parts of the moving path, e.g., AP2 and AP6. If a user track [501] is considered, the distances of access points from the user track are a random variable, and coverage of access points can change from one access point to another, e.g., coverage area of AP2 [502] and coverage area of AP6 [503]. Calculation of average observation period is based on all the access points in range regardless of their existence in the reference database [104] (of FIG. 1).

If an access point exists in the reference database [104], the estimation of its coverage area, e.g., [502], is retrieved from the reference database [104], and the coverage area [502] is used to weight the observation period of the access point. If an access point does not exist in the reference database [104], a nominal average coverage area of all access points in the reference database may be used to weight the observation period. In the alternative, a default coverage area value may be used.

In order to calculate the average observation period, a time window of W is considered to collect Received Signal Strength samples and calculate average observation period. A total number of access points detected during time window W is m, in which ml exist in the reference database [104] and m₂ do not. If observation period of access point i is denoted by t_(i), and the coverage area is denoted by C_(i), and the nominal average coverage area of all access points in the reference database [104] is denoted by C, the average observation period is calculated as follows: $t^{-} = \frac{{\sum\limits_{i = 1}^{m_{1}}\frac{t_{i}}{C_{i}}} + \frac{\sum\limits_{i = 1}^{m_{2}}t_{i}}{C}}{m}$

The average observation period is translated to the speed of the user by finding average distance that the user moves in a given access point coverage area. The average radius of the coverage area [502] of an access point in the reference database [104] is known. Techniques disclosed in the related U.S. patent application entitled, Estimation of Position Using WLAN Access Point Radio Propagation Characteristics in a WLAN Positioning System (incorporated above), may be used to determine the average radii of access points.

Referring to FIG. 6, an access point [601] has a coverage area [600] with a radius of coverage [602], which is denoted by R. A user can detect the access point [601] up to the radius of coverage [602]. Therefore, the average distance of a path of a user from the access point [601] is (R/2) [603]. If the average distance traveled [604] by the user in the coverage area [600] of the access point [601] is denoted by d, it can be calculated as follows: $d = {{2 \times \sqrt{R^{2} - \left( {R/2} \right)^{2}}} = {2\quad R\sqrt{0.75}}}$

Because the average time to travel the distance d in the coverage area is the average observation period, the speed of user while traveling in the coverage area [600] of the access point [601] with a known coverage area [600] can be calculated as follows: $V = \frac{d}{\overset{\_}{t}}$

Similar methods can be used to determine the speed of the user by using access points not in the reference database [104] by using the average coverage area of all access points in the reference database [104] or by using a default value.

According to embodiments of the invention, the quality of speed estimation of a user may be calculated based on the number of access points used to calculate the average observation period. In addition, if the average observation period of access points calculated by a given user is above a given threshold, the user is stationary. If it is below the threshold, user speed may be calculated. The threshold to detect a stationary user depends on characteristics of the mobility of users and the use case, and may be found empirically.

One example of a useful value of window size to calculate the average observation period is twenty one seconds. One example of a useful threshold to detect stationary users for urban navigation applications is equal to eight seconds.

Under another aspect of the invention, results of different methods of estimating the speed of a user are consolidated into one number by using an adaptive transversal filter. The output of the transversal filter is the optimum linear combination of estimation of the speed of the user. Embodiments of the invention include methods of combining speed estimation results from different sources to find optimum coefficients, corresponding to the sources, to combine the sources linearly. For example, estimation of the speed of the user based on a derivative of distance relative to time, power variation, and average observation period may be consolidated to one number.

An adaptive transversal filter [700] is shown in FIG. 7. The inputs to the transversal filter are different speed estimations V₁ [701], V₂ [702], and V₃ [703]. The speed estimations V₁ [701], V₂ [702], and V₃ [703] are weighted by corresponding coefficients W₁ [704A], W₂ [704B], and W₃ [704C]. The output of the filter V′ [706] is compared with the actual speed V [705] of the user, and the residual error, e [707], is used to adjust the filter coefficients W₁ [704A], W₂ [704B], and W₃ [704C]. The value of e is calculated as follows: e=V−V′

The value of error, e, is then used to adjust filter coefficients [708]. There are different standard methods to adjust filter coefficients, for example Least Square, Least Mean Square or Recursive Least Mean Square. The optimum filter coefficients W₁ [704A], W₂ [704B], and W₃ [704C] need to be found once, and after that they can be used to combine different speed estimations of different methods. Practically, a test bed is created and it is moved the same way as the user based on the desired use case.

One example method of getting the actual speed V [705] of the user for determining the filter coefficients W₁ [704A], W₂ [704B], and W₃ [704C] is using a GPS, because GPS speed estimation is accurate enough for most of the applications. An example test bed is equipped with a GPS and also a WLAN receiver. The speed of the test bed is estimated periodically by using WLAN access points using all the different methods. All the different speed estimations V₁ [701], V₂ [702], and V₃ [703] from the different methods are input to the transversal filter, along with the filter coefficients W₁ [704A], W₂ [704B], and W₃ [704C]. The initial value of coefficients may be set to all equal values, e.g., equal to ⅓. The actual speed is taken from the GPS receiver. The test bed can be moved until the filter coefficients W₁ [704A], W₂ [704B], and W₃ [704C] converge to the optimal value. The optimal value of the filter coefficients W₁ [704A], W₂ [704B], and W₃ [704C] is logged and are used to combine speed estimations as follows: $V = {\sum\limits_{i - 1}^{3}{W_{i}V_{i}}}$

Under another aspect of the invention, zero speed is detected by estimating the speed of the user according to the power variation of the Received Signal Strength method in combination with estimating the speed of the user according to the average observation period method. Combination of the results of these two methods increases the probability of detecting stationary users, and as a result, the thresholds can be set more conservatively to reduce probability of false detection.

Under another embodiment of the invention, a user's WLAN device scans for access points, and none of access points exist in the current reference database [104]. In this case, the user cannot be located, but speed of user can be estimated, because the power variation of the Received Signal Strength method and the calculation of the average observation period method can still be used to estimate the speed of the user. In this case, speed can be used to predict a future user position, although the current position cannot be estimated.

Under another aspect of the invention, the direction of movement, bearing, is calculated based on WLAN signals. Bearing is calculated based on m number of consecutive position estimation samples. The number m needs to be set high enough to smooth the results and eliminate estimation noises and sudden changes in bearing estimation. On the other hand, the value of m has to be set low enough to track bearing changes in a timely manner. Quality of position estimation may be used to weight bearing estimation samples.

An example method for estimating bearing is as follows. Consider the last m position estimations of the user, and exclude low quality position estimations. The number of acceptable quality position estimations is denoted by M. The direction of movement between the first position estimation and the next M−1 position estimation samples is found; bearing calculation of the first position estimation and position estimation i is denoted by B(l,i), 0<i<(M−1). The method next determines the weighted average of the bearing of M−1 results, weighted according to their quality of estimation. If quality of estimation of location estimation i is denoted by Q_(i), the bearing is calculated as follows: $B = \frac{\sum\limits_{i = 1}^{M - 1}{{B\left( {1,i} \right)}Q_{i}}}{M - 1}$

This technique of estimating bearing is shown graphically in FIG. 8. The direction of movement from the first point [801] to all the consecutive points [802]-[806] is calculated for M number of points (six in this example), and the average of (M−1) is calculated as the actual bearing [807].

The value of M may be found empirically based on the mobility model of users. The mobility model is used to find the average duration that the user takes to change bearing, and also dictates required accuracy and maximum tolerable delay. In a typical navigation application, a useful value of M is 15, with samples being taken at one second intervals. It was also observed that the accuracy of bearing estimation for M less than 10 samples is very poor.

It will be appreciated that the scope of the present invention is not limited to the above-described embodiments, but rather is defined by the appended claims, and these claims will encompass modifications of and improvements to what has been described. 

1. A method used to estimate a speed of travel of a Wi-Fi enabled device, comprising: the Wi-Fi enabled device receiving signals transmitted by Wi-Fi access points in range of the Wi-Fi enabled device; accessing a reference database to determine if the database contains characteristics of the Wi-Fi access points; and if the database contains characteristics of the Wi-Fi access point, using the characteristics to estimate a speed of travel of the Wi-Fi enabled device.
 2. The method of claim 1, wherein the Wi-Fi enabled device communicates with at least one of the Wi-Fi access points to cause the Wi-Fi access point to transmit signals.
 3. The method of claim 1, wherein the characteristics include one or more of a geographic location, a signal power-distance gradient, or a reliability measurement.
 4. A method for facilitating the determination of a speed of travel of the Wi-Fi enabled device within a location-based services system having a reference database of Wi-Fi access points in a target area, each Wi-Fi access point in the target area positioned at a corresponding geographical location, the method comprising: the Wi-Fi enabled device receiving signals transmitted by Wi-Fi access points in range of the Wi-Fi enabled device during a window of time; accessing the reference database to retrieve the corresponding geographical locations of the identified Wi-Fi access points; using the geographical locations of the identified Wi-Fi access points to estimate a plurality of positions of the Wi-Fi enabled device occurring during the window of time; associating a time value with each of the estimated positions, each time value and position estimate forming one position/time pair of a plurality of pairs, the plurality having a first position occurring at a first time and a second position occurring at a second time; calculating a lower speed bound based on a difference between the first position and time and second position and time; calculating a plurality of speeds based on differences between consecutive pairs of the plurality of position/time pairs; selecting as an upper speed bound the median speed from the plurality of speeds; and calculating a speed of travel of the Wi-Fi enabled device based on the median speed of the plurality of speeds and the first speed.
 5. The method of claim 4, wherein the Wi-Fi enabled device communicates with at least one of the Wi-Fi access points to cause the Wi-Fi access point to transmit signals.
 6. The method of claim 4, wherein the number of position/time pairs determined varies according to the speed of travel of the Wi-Fi enabled device.
 7. The method of claim 6, wherein the number of position/time pairs determined decreases as the speed of travel of the Wi-Fi enabled device increases.
 8. The method of claim 4, wherein the speed of travel of the Wi-Fi enabled device is the average of the lower speed bound and the upper speed bound.
 9. The method of claim 4, wherein the number of position/time pairs is between about 5 and 15, taken at a rate of one pair per second.
 10. The method of claim 4, wherein the number of position/time pairs determined varies according to the rate of change of speed of travel of the Wi-Fi enabled device.
 11. The method of claim 4, further comprising: accessing the reference database to retrieve reliability measurements corresponding to the identified Wi-Fi access points; and using the reliability measurements of the Wi-Fi access points when estimating the positions of the Wi-Fi enabled device.
 12. The method of claim 4, wherein at least one of the accessing the reference database, estimating a plurality of positions, associating a time value, calculating a lower speed bound, calculating a plurality of speeds, selecting an upper speed bound, and calculating the speed of travel of the Wi-Fi enabled device is performed by the Wi-Fi enabled device.
 13. A method for facilitating the determination of a speed of travel of the Wi-Fi enabled device within a location-based services system having a reference database of Wi-Fi access points in a target area, each Wi-Fi access point in the target area positioned at a corresponding geographical location, the method comprising: the Wi-Fi enabled device receiving signals transmitted by Wi-Fi access points in range of the Wi-Fi enabled device during a window of time; accessing the reference database to retrieve the corresponding geographical locations of the identified Wi-Fi access points; using the geographical locations of the identified Wi-Fi access points to estimate a plurality of distances traveled by the Wi-Fi enabled device; associating a time value with each estimated position; calculating the speed of travel of the Wi-Fi enabled device based on the plurality of distances and associated times.
 14. The method of claim 13, wherein the Wi-Fi enabled device communicates with at least one of the Wi-Fi access points to cause the Wi-Fi access point to transmit signals.
 15. The method of claim 13, further comprising: accessing the reference database to retrieve reliability measurements corresponding to the identified Wi-Fi access points; and using the reliability measurements of the Wi-Fi access points when estimating the positions of the Wi-Fi enabled device.
 16. A method used for facilitating the determination of a direction of travel of the Wi-Fi enabled device within a location-based services system having a reference database of Wi-Fi access points in a target area, each Wi-Fi access point in the target area positioned at a corresponding geographical location, the method comprising: the Wi-Fi enabled device receiving signals transmitted by Wi-Fi access points in range of the Wi-Fi enabled device; accessing the reference database to retrieve the corresponding geographical locations of the identified Wi-Fi access points; using the geographical locations of the identified Wi-Fi access points to estimate a sequence of positions of the Wi-Fi enabled device occurring during the window of time, the sequence having a first position; calculating a plurality of intermediate directions of travel of the Wi-Fi enabled device based on the first position and the later positions of the sequence, each direction calculation using a different later position for each individual calculation; and calculating a direction of travel of the Wi-Fi enabled device based on the average of the plurality of intermediate directions of travel.
 17. The method of claim 16, wherein the Wi-Fi enabled device communicates with at least one of the Wi-Fi access points to cause the Wi-Fi access point to transmit signals.
 18. The method of claim 16, further comprising: accessing the reference database to retrieve reliability measurements corresponding to the identified Wi-Fi access points; and using the reliability measurements of the Wi-Fi access points when estimating the positions of the Wi-Fi enabled device.
 19. The method of claim 16, wherein at least one of the accessing the reference database, estimating a sequence of positions, calculating a plurality of intermediate directions of travel, and calculating the direction of travel of the Wi-Fi enabled device is performed by the Wi-Fi enabled device.
 20. The method of claim 16, wherein the sequence of positions estimated is between about 10 and
 15. 